Component({
  data: {
    isLogin: false,
  },
  lifetimes: {
    attached() {
      // 1. 获取应用实例身上的 token
      // 1.1 如果有，就将 isLogin 设置为 true
      // 1.2 如果没有，就将 isLogin 设置为 false，并且跳到登录页去

      // 这里用 !! 的目的是为了将 token 转成 boolean 类型的数据
      // 一个 ! 表示没有 token  那就是没登录
      // 两个 !! 表示有 token  那就是登录了
      const isLogin = !!getApp().globalData.token

      // 更新 data 驱动 <slot wx:if="{{ isLogin }}"></slot> 视图更新
      this.setData({ isLogin })

      if (!isLogin) {
        // // navigateTo 不能跳 tabBar 页面，会添加新的历史记录
        // // 如果在登录页后退 则会再次回到 我的房屋 页面
        // wx.navigateTo({
        //   url: '/pages/login/index',
        // })

        const pages = getCurrentPages()
        // 为了不影响原数组，保险起见，浅拷贝后，再调用 pop 弹出最后一个页面实例
        const curPage = [...pages].pop()

        // redirectTo 先删除页面栈顶的记录，在添加新记录
        wx.redirectTo({
          url: '/pages/login/index?redirectURL=' + curPage.route,
        })
      }
    },
  },
})
